Optical codes have widespread applications. For example, optical codes can be used to identify a class of objects (e.g., merchandise) or unique items (e.g., patents). As a result, optical codes are found on a wide variety of objects, such as retail goods, company assets, and documents, and help track production at manufacturing facilities and inventory at stores (by scanning items as they arrive and as they are sold).
An optical code is essentially a machine-readable representation of information in a visual format on a surface of the object (i.e., a barcode). Some optical codes use a dark ink on a white substrate to create high and low reflectance upon scanning. Based on the symbology being used (e.g., UPC, Code 39, Code 128, and PDF417), an optical code may comprise data characters (or codewords in the case of, e.g., PDF417) and/or overhead characters represented by a particular sequence of bars and spaces (which may have varying widths).
Optical code readers or data readers are used to capture optical codes or other symbols or information imprinted on various surfaces in order to transmit the information encoded in the optical code or symbol to a host processing device. Two types of commonly used data readers are flying spot scanners and imaging based scanners. Flying spot laser scanners generally obtain optical code information by sweeping a laser spot across the optical code. The laser spot may be generated by a laser light source which is then directed towards an oscillating or rotating reflecting surface, typically a mirror. The light reflected from the optical code is collected by a photosensor, which outputs an analog waveform representing the relative spacing of the bars in the optical code. The analog signal may then be digitized and decoded into data representing the information encoded in the optical code.
Imaging based scanners include solid state image circuitry, such as charge coupled devices (CCDs) or complementary metal-oxide semiconductor (CMOS) devices, and may be implemented using a one-dimensional or two-dimensional imaging array of photosensors (or pixels) to capture the optical code. One-dimensional CCD readers capture a linear cross section of the optical code, producing an analog waveform whose amplitude represents the relative darkness and lightness of the optical code. Two-dimensional CCD or CMOS readers capture an entire two-dimensional image. Often only select portions of the image data are stored and processed. The select portions of the image data are sometimes referred to as virtual scan lines because the select portions are analogous to a signal generated by reflection of a moving laser beam spot scanning across the optical code.
Traditionally, all decodable optical codes within a scan volume of a data reader are read and accepted. Thus, optical codes that should not be read and accepted but never the less fall within the scan volume may unintentionally be read and accepted. For example, data readers located in space-constrained locations may read and accept optical codes on objects displayed proximate the data reader, such as products for sale and displayed in a convenience store checkout area. By way of another example, objects delivered by a conveyor to an operator may be read and accepted while on the conveyor instead of when the operator individually sweeps the objects past the data reader. Accordingly, the present inventor has identified a need to selectively read and accept optical codes within a scan volume of a data reader.